package cn.zhl.txt;

import org.junit.Before;
import org.junit.Test;

import java.io.BufferedReader;
import java.io.FileReader;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @program: demos
 * @description:
 * @author: 刘振华
 * @create: 2020-11-04 11:42
 **/
public class TargetSql {
	private List<String> targetSet = new ArrayList<>();

	@Test
	public void target()throws Exception{
		String path = "C:\\Users\\Administrator\\Desktop\\pdm.csv";

		Map<String,String> map = new HashMap<>();
		BufferedReader bfr = new BufferedReader(new FileReader(path));
		String line = "";
		boolean flag = false;
		String pkStr = "";
		String key = "";
		String value = "";
		while ((line = bfr.readLine())!= null){
			if(line.startsWith("表名")){
				String tableName = line.split(",")[1];
				if(targetSet.contains(tableName)){
					key = tableName;
					flag = true;
				}
			}else {
				if(flag){
					if(line.endsWith(")")){
						String[] strs = line.split(",");
						if(strs[1].startsWith("PK")){
							pkStr += strs[1]+",";
						}
					}
				}
				if(line.equals(",,")){
					flag = false;
					if (pkStr.length() > 0) {
						map.put(key,pkStr.substring(0,pkStr.length()-1));
						pkStr = "";
					}
				}
			}
		}
		bfr.close();
		targetSet.forEach(t->{
			System.out.print(t+"\t");
			System.out.println(map.get(t));
		});
	}


	@Before
	public void init(){
		targetSet.add("EQ_BAS_BOILER");
		targetSet.add("EQ_BAS_BOILER_INST");
		targetSet.add("EQ_BAS_BOILER_OTHER");
		targetSet.add("EQ_BAS_BOM_MANAGE");
		targetSet.add("EQ_BAS_BURNER");
		targetSet.add("EQ_BAS_CREEP_POINT");
		targetSet.add("EQ_BAS_CYLINDER");
		targetSet.add("EQ_BAS_CYLINDER_INST");
		targetSet.add("EQ_BAS_CYLINDER_NORM");
		targetSet.add("EQ_BAS_DATA_FILE");
		targetSet.add("EQ_DES_DES_MAKE");
		targetSet.add("EQ_BAS_EQU_RECORD");
		targetSet.add("EQ_BAS_ELEC_EQU");
		targetSet.add("EQ_BAS_ELEC_INST");
		targetSet.add("EQ_BAS_ELEC_OTHER");
		targetSet.add("EQ_BAS_EQU_ATTR_ADMIN");
		targetSet.add("EQ_BAS_EQU_ATTR_INST");
		targetSet.add("EQ_BAS_EQU_BOM");
		targetSet.add("EQ_BAS_EQU_RECORD");
		targetSet.add("EQ_BAS_EQU_SORT");
		targetSet.add("EQ_BAS_EQU_SORT_INST");
		targetSet.add("EQ_BAS_FAULT_CASE");
		targetSet.add("EQ_BAS_FAULT_CODE");
		targetSet.add("EQ_BAS_HEAD_NORM");
		targetSet.add("EQ_BAS_HEADER_SPECS");
		targetSet.add("EQ_BAS_HEAT_ANTISEPTIC");
		targetSet.add("EQ_BAS_HEATER");
		targetSet.add("EQ_BAS_HEATER_INST");
		targetSet.add("EQ_BAS_INHIBITOR");
		targetSet.add("EQ_BAS_INSTALL");
		targetSet.add("EQ_BAS_MACHINE_PERFORM");
		targetSet.add("EQ_BAS_PIPE_FITTING");
		targetSet.add("EQ_BAS_PIPELINE");
		targetSet.add("EQ_BAS_POINT_UWUTM");
		targetSet.add("CD_BAS_RESPIRATOR");
		targetSet.add("CD_BAS_RULE_MANAGE");
		targetSet.add("EQ_BAS_SAFE_ANNEX");
		targetSet.add("EQ_BAS_SAFE_PART");
		targetSet.add("EQ_BAS_SAFE_INST");
		targetSet.add("EQ_BAS_SEAL_POINT");
		targetSet.add("EQ_BAS_SOCKET_NORM");
		targetSet.add("EQ_BAS_SOP_MANAGE");
		targetSet.add("EQ_BAS_SPECS_MATERIAL");
		targetSet.add("EQ_BAS_SUP_MANAGE");
		targetSet.add("EQ_BAS_SURFACE_TUBE");
		targetSet.add("EQ_BAS_TEST_INFO");
		targetSet.add("EQ_BAS_VESSEL");
		targetSet.add("EQ_BAS_VESSEL_INST");
		targetSet.add("EQ_BAS_VESSEL_OTHER");
		targetSet.add("EQ_BAS_VESSEL_PART");
		targetSet.add("EQ_BAS_VESSEL_PIPELINE");
		targetSet.add("EQ_BAS_VOLTAGE_TEST");
		targetSet.add("EQ_BAS_WELD_LINE");
		targetSet.add("EQ_BAS_LINE_MANG");
		targetSet.add("EQ_BAS_MAINTAIN_CARD");
		targetSet.add("EQ_BAS_SPECIAL_TOOL");
		targetSet.add("EQ_BAS_TECH_SPEC");

	}

}
